package com.sunchen.asc.service.user.api;

import com.sunchen.asc.service.common.ResultResponse;
import com.sunchen.asc.service.user.dto.UserDto;
import com.sunchen.asc.service.user.vo.UserVo;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import com.alibaba.fastjson.JSONObject;

import java.util.List;

public interface UserService {

    public ResultResponse creatUser(UserDto userDto);

    public ResultResponse editUser(UserDto userDto);

    public ResultResponse deleteUser(Long id);

    public ResultResponse setStatus(Long id, int status);

    public Page<UserVo> getUserList(Pageable pageable, String name, String username);

    public JSONObject findTheOnlyUserNameCreat(String userName);

    public JSONObject findTheOnlyUserNameModify(String userName, Long id);

    public ResultResponse setUserRole(Long id, List<Long> roleIds);

    public ResultResponse getUser(String userName);

    public ResultResponse resetPassword(Long id);

    public ResultResponse userDetail(Long id);

    public ResultResponse current(Long id);
}
